﻿using PLCS.Domain.Shared.Orders;

namespace PLCS.Application.Contracts.OrderApp.Dtos
{
    public class OrderDto : EntityDto<Guid>
    {
        /// <summary>
        /// 编号
        /// </summary>
        public string UpperNo { get; set; }

        /// <summary>
        /// 线体编码
        /// </summary>
        public string PdLineNo { get; set; }

        /// <summary>
        /// 物料编码
        /// </summary>
        public string TrayNo { get; set; }

        /// <summary>
        /// 工单号
        /// </summary>
        public string OrderNo { get; set; }

        /// <summary>
        /// 方案编号
        /// </summary>
        public string SolutionNo { get; set; }

        /// <summary>
        /// 工单类型
        /// </summary>
        public OrderType OrderType { get; set; }

        public string OnlineStation { get; set; }

        public string? CurrentProcess { get; set; }

        public Domain.Shared.Tasks.TaskStatus CurentProcessStatus { get; set; }

        /// <summary>
        /// 计划开始时间
        /// </summary>
        public DateTime PlanStartTime { get; set; }

        /// <summary>
        /// 计划结束时间
        /// </summary>
        public DateTime PlanEndTime { get; set; }

        /// <summary>
        /// 实际开始时间
        /// </summary>
        public DateTime? FactStartTime { get; set; }

        /// <summary>
        /// 工单状态
        /// </summary>
        public OrderStatus Status { get; set; }

        public DateTime CreationTime { get; set; }
        public List<OrderRunningConditionDto> OrderRunningConditions { get; set; }
    }
}